﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using Microsoft.Reporting.WebForms;
using System.Security.Principal;
using System.Net;

namespace Crosland.Automotriz.Web.Repuestos
{
    public partial class wFrmSeguimientoImportacionReport : BaseForm
    {


        protected override void Inicializar()
        {
            string ID_ORG_VTA = Session["strIdOrgVta"].ToString();
            string NUM_PEDIDO = Session["num_pedido"].ToString();
            string COD_TIPO_PEDIDO1 = Session["pedido1"].ToString();
            string COD_TIPO_PEDIDO2 = Session["pedido2"].ToString();

            this.rvPopupReporte.ProcessingMode = ProcessingMode.Remote;
            this.rvPopupReporte.ShowCredentialPrompts = true;
            this.rvPopupReporte.ShowExportControls = true;
            this.rvPopupReporte.ServerReport.ReportServerCredentials = new RSCredentials();
            this.rvPopupReporte.ServerReport.ReportServerUrl =
                new Uri(ConfigurationManager.AppSettings[DatosConfiguracion.RsServer]);
            this.rvPopupReporte.ServerReport.ReportPath = "/SAP_REPUESTOS/rsSeguimientoImportacionesAnalisisPedidos";

            ReportParameter parameter = new ReportParameter("ID_ORG_VTA", ID_ORG_VTA);
            ReportParameter parameter2 = new ReportParameter("NUM_PEDIDO",NUM_PEDIDO);
            ReportParameter parameter3 = new ReportParameter("COD_TIPO_PEDIDO1",COD_TIPO_PEDIDO1);
            ReportParameter parameter4 = new ReportParameter("COD_TIPO_PEDIDO2", COD_TIPO_PEDIDO2);

            this.rvPopupReporte.ServerReport.SetParameters(parameter);
            this.rvPopupReporte.ServerReport.SetParameters(parameter2);
            this.rvPopupReporte.ServerReport.SetParameters(parameter3);
            this.rvPopupReporte.ServerReport.SetParameters(parameter4);

        }

        [Serializable]
        public sealed class RSCredentials : IReportServerCredentials
        {
            public WindowsIdentity ImpersonationUser
            {
                get { return null; }
            }

            public ICredentials NetworkCredentials
            {
                get
                {
                    string userName = ConfigurationManager.AppSettings[DatosConfiguracion.RsUser];
                    string password = ConfigurationManager.AppSettings[DatosConfiguracion.RsPassword];
                    string domain = ConfigurationManager.AppSettings[DatosConfiguracion.RsDomain];

                    return new NetworkCredential(userName, password, domain);
                }
            }

            public bool GetFormsCredentials(out Cookie authCookie, out String userName, out String password,
                out String authority)
            {
                authCookie = null;
                userName = null;
                password = null;
                authority = null;
                return false;
            }
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            string script = "CerrarVentana();";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "cerrar", script, true);
        }


    }
}